// pages/index/index.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    url: '', // 生成视频链接
    valueurl: '', // 用户输入的连接
    data: {} // 视频链接,封面链接,标题
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(app.globalData.Legitimate);
    //提前发起授权申请
    wx.authorize({
      scope: 'scope.writePhotosAlbum',
      success: res => {},
      fail: res => {
        wx.showToast({
          title: '拒绝授权后，请点击授权相册',
        })

      }
    })
    this.gettoken()
  },

  //下载视频到相册
  downloadVideoClick(e) {
    console.log(e.currentTarget.dataset.url);
    //视频保存到相册跟图片保存到相册使用方式相同
    //下载到本地，判断是否拥有权限
    wx.getSetting({
      withSubscriptions: true,
      success: res => {
        console.info(res.authSetting);
        if (res.authSetting['scope.writePhotosAlbum']) {
          const downloadTask = wx.downloadFile({
            url: e.currentTarget.dataset.url,
            success: res => {
              //保存到相册
              wx.saveVideoToPhotosAlbum({
                filePath: res.tempFilePath,
                success: res => {
                  console.info(res);
                  wx.showToast({
                    title: "保存成功",
                    icon: 'success'
                  });
                },
                fail: res => {
                  wx.showToast({
                    title: '保存失败',
                    icon: "error"
                  })
                }
              })
            },
            fail(err){
              console.log(err);
              wx.showToast({
                title: '保存失败，建议复制链接请前往浏览器下载，或者重新生成视频',
                icon:"none"
              })
            }
          });

          // 监听下载进度更新事件
          downloadTask.onProgressUpdate((res) => {
            // console.log('下载进度', res.progress);
            // console.log('已下载的数据长度', res.totalBytesWritten);
            // console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite);

            // 更新下载进度显示
            wx.showLoading({
              title: `下载中... ${res.progress}%`,
            });
          });
        } else {
          wx.showModal({
            cancelColor: 'cancelColor',
            title: '提示',
            content: '请开启相册访问权限',
            success: res => {
              if (res.confirm)
                wx.openSetting({
                  withSubscriptions: true,
                })
            }
          })
        }
      },
      fail(err){
        console.log(err);
      }
    })
  },

  // 下载封面到相册
  downloadImageClick(e) {
    //视频保存到相册跟图片保存到相册使用方式相同
    //下载到本地，判断是否拥有权限
    wx.getSetting({
      withSubscriptions: true,
      success: res => {
        console.info(res.authSetting);
        if (res.authSetting['scope.writePhotosAlbum']) {
          const downloadTask = wx.downloadFile({
            url: e.currentTarget.dataset.url,
            success: res => {
              //保存到相册
              wx.saveImageToPhotosAlbum({
                filePath: res.tempFilePath,
                success: res => {
                  console.info(res);
                  wx.showToast({
                    title: "保存成功",
                    icon: 'success'
                  });
                },
                fail: res => {
                  wx.showToast({
                    title: '保存失败',
                    icon: error
                  })
                }
              })
            },
            fail(err){
              wx.showToast({
                title: '保存失败，建议复制链接请前往浏览器下载，或者重新生成视频',
                icon:"none"
              })
            }
          });

          // 监听下载进度更新事件
          downloadTask.onProgressUpdate((res) => {
            // console.log('下载进度', res.progress);
            // console.log('已下载的数据长度', res.totalBytesWritten);
            // console.log('预期需要下载的数据总长度', res.totalBytesExpectedToWrite);

            // 更新下载进度显示
            wx.showLoading({
              title: `下载中... ${res.progress}%`,
            });
          });
        } else {
          wx.showModal({
            cancelColor: 'cancelColor',
            title: '提示',
            content: '请开启相册访问权限',
            success: res => {
              if (res.confirm)
                wx.openSetting({
                  withSubscriptions: true,
                })
            }
          })
        }
      }
    })
  },

  // 输入视频链接
  changeUrl(e) {
    this.data.valueurl = e.detail
  },

  // 获取登录令牌
  gettoken() {
    app.mySend(1, 'GET', '/Token/Index', {}, (res) => {
      console.log(res);
      if (res.code === 1) {
        app.globalData.token = res.data.token;
      }
    })
  },

  // 点击去水印
  qushuiyin() {
    wx.showLoading({
      title: '视频解析中...',
    })
    app.mySend(1, 'POST', '/Watermark/Index', {
      link: this.data.valueurl,
    }, (res) => {
      wx.hideLoading();
      if (res.code === 1) {
        this.setData({
          data: res.data,
          url: res.data.videoSrc
        })
        // 将当前记录保存到本地
        const value = wx.getStorageSync('jiexijilu');
        let arr = []
        if (value) {
          arr = JSON.parse(value)
        }
        // 在数组的开头添加新元素
        arr.unshift(this.data.valueurl);

        // 检查数组长度是否超过100
        if (arr.length > 100) {
          // 移除数组的最后一个元素
          arr.pop();
        }
        wx.setStorageSync('jiexijilu', JSON.stringify(arr));
      } else {
        wx.showToast({
          title: res.msg,
          icon: "none"
        })
      }
    }, {
      token: app.globalData.token
    })
  },

  // 粘贴用户视频链接的操作
  copyText() {
    let that = this;
    wx.getClipboardData({
      success(res) {
        that.setData({
          valueurl: res.data
        })
      },
    })
  },

  // 复制视频链接,封面链接,视频标题文案
  copylianjie(e) {
    console.log(e);
    wx.setClipboardData({
      data: e.currentTarget.dataset.title,
      success(res) {}
    })
  },

  // 跳转解析记录
  resolveRecord() {
    wx.navigateTo({
      url: '/pages/second/resolveRecord/resolveRecord',
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})